package com.vshop.platform.system.domain.model;

import lombok.Data;

import java.io.Serial;
import java.io.Serializable;


/**
 * // 高亮指定菜单
 * activeMenu?: string
 * // badge小标签(只支持子级)
 * badge?: string
 * // 是否隐藏面包屑
 * breadcrumbHidden?: boolean
 * // 是否显示小圆点
 * dot?: boolean
 * // 动态传参路由是否新开标签页
 * dynamicNewTab?: boolean
 * // 权限
 * guard?: string[] | GuardType
 * // 是否显示在菜单中显示隐藏路由(默认值：false)
 * hidden?: boolean
 * // 图标
 * icon?: string
 * // 是否是自定义svg图标(默认值：false)
 * // 如果设置true，那么需要把您的svg拷贝到icon下，然后icon字段配置上您的图标名
 * isCustomSvg?: boolean
 * // 是否显示在菜单中显示隐藏一级路由(默认值：true)
 * levelHidden?: boolean
 * // 当前路由是否可关闭多标签页，同上
 * noClosable?: boolean
 * // 是否隐藏侧边栏
 * noColumn?: boolean
 * // 当前路由是否不缓存(默认值：false)
 * noKeepAlive?: boolean
 * // 当前路由是否不显示多标签页
 * tabHidden?: boolean
 * // 在新窗口中打开
 * target?: '_blank' | false
 * // 菜单、面包屑、多标签页显示的名称
 * title?: string
 * // 是否全屏
 * fullscreen?: boolean
 */
@Data
public class RouterMeta implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 设置该路由在侧边栏和面包屑中展示的名字
     */
    private String title;

    /**
     * 设置该路由的图标，对应路径src/assets/icons/svg
     */
    private String icon;

    /**
     * 权限标识l
     */
//    private String perms;
//
//    private String activeMenu;
//    private String link;
//
//    private Boolean isLink;
//    private Boolean isHide;
//    private Boolean isFull;
//    private Boolean isAffix;
//    private Boolean isKeepAlive;


    private String activeMenu;

    private Boolean noKeepAlive;

    // 是否显示在菜单中显示隐藏路由(默认值：false)
    private Boolean hidden;

    /**
     * 目录显示状态（0显示 1隐藏）
     */
    private Boolean levelHidden;

    /**
     * 面包屑显示状态（0显示 1隐藏）
     */
    private Boolean breadcrumbHidden;

    /**
     * 自定义图标（0自定义 1不自定义）
     */
    private Boolean isCustomSvg;

    /**
     * Tab可关闭（0可关闭 1不可关闭）
     */
    private Boolean noClosable;

    /**
     * 动态传参路由是否新开标签页（0新开 1不新开）
     */
    private Boolean dynamicNewTab;

    /**
     * 在新窗口打开（_blank打开）
     */
    private String target;
}
